package com.library.service;

import com.library.dto.PageQueryDTO;
import com.library.result.PageResult;
import com.library.vo.BookCountByBorrowedVO;
import com.library.vo.BookCountByCategoryVO;
import com.library.vo.BookCountByPriceVO;
import com.library.vo.BookCountByYearVO;

import java.util.List;

public interface StatisticsService {

    /**
     * 根据分类获取图书统计
     * @return
     */
    List<BookCountByCategoryVO> getBookCountByCategory();

    /**
     * 根据年份获取图书统计
     * @return
     */
    List<BookCountByYearVO> getBookCountByPublishedYear();

    /**
     * 根据价格获取图书统计
     * @return
     */
    List<BookCountByPriceVO> getBookCountByPrice();

    /**
     * 获取借阅次数图书排名
     * @return
     */
    PageResult getBookCountByBorrowed(PageQueryDTO pageQueryDTO);

    /**
     * 获取浏览次数图书排名
     * @param pageQueryDTO
     * @return
     */
    PageResult getBookCountByBrowse(PageQueryDTO pageQueryDTO);
}
